草庐IT

MySQL WHERE 子句

全部标签

mysql - Sequelize - 通过多个连接表的 Where 子句

我在Node中使用sequelizeorm将对象映射到mysql数据库。基本上我有两个表product和category。一个产品属于一个类别,但一个类别可以有多个产品。在类别表中,我有一列“parent_id”,它引用了它自己的id。最多可以有三级层次结构。主要目标是找到属于父类别**某物的任何类别的产品,例如26。我可以像下面这样在sql中推断查询。select*fromproductaspjoincategoryasconp.category_id=c.idjoincategoryasc1onc1.id=c.parent_idjoincategoryasc2onc2.id=c1.

Mysql EXTRACTVALUE 函数在 WHERE 子句中使用

我有一个这样的消息xmlsds我需要一个选择查询来满足哪个xml具有id="31"属性值我只是将id值传递给选择查询select*fromtablewhereExtractValue(xml,'/message[@id="31"]')=31但此查询返回“未找到行”结果请帮助我 最佳答案 您可以使用XPathboolean检查根级别是否存在的函数id为31的标签:SELECT*FROMtableWHEREExtractValue(`xml`,'boolean(/message[@id=31])')更新:如果要删除ID为31的记录,可以

php - 将 "AND"子句附加到 WP QUERY

我试图让一个过滤器在Wordpress中工作,它将一个子句附加到当前查询,并且只选择具有特定meta_key值的结果。我无法通过$args来完成,因为主题的设置方式以及使用其他过滤器和Hook来获取发布数据。我可以使用以下代码让它完美地工作:functionfilter_where($where=''){$where.="ANDpost_date>='2016-09-24'";return$where;}add_filter('posts_where','filter_where');我知道元数据在不同的表中,但不确定如何处理。 最佳答案

mysql - 我的 MySQL 数据库中有 '0001/16' 值。我如何在 where 子句中写入 '1/16' 以进行选择?

我的MySQL数据库中有“0001/16”值。我如何在where子句中写为'1/16'来选择?注意:我们无法预测非零数字前有多少个零。HibernateCriteria会更有帮助 最佳答案 Mysql你可以做到这一点MariaDB[sandbox]>SET@T='001/16';QueryOK,0rowsaffected(0.00sec)MariaDB[sandbox]>MariaDB[sandbox]>select@T->FROMDUAL->WHERE->concat(->REPLACE(SUBSTRING(@T,1,INSTR(

mysql - 在 WHERE 子句中使用聚合函数来更新表

我有两个表employee和department。它们与dep_id列相关联,该列是departments中的主键和employee中的外键。我的目标是:更新工资高于其部门平均工资的所有员工的工资。现在我有2个查询要执行此操作:UPDATEemployeeESETE.payroll=E.payroll+1000WHEREE.payroll>(SELECTAVG(E2.payroll)FROMemployeeE2WHEREE.dep_id=E2.dep_id)我收到一个错误:#1093-表“E”被指定了两次,既作为“更新”的目标又作为单独的数据源2)在部门表中,我存储了每个部门的员工数量

带有where子句的M​​ysql子查询

我需要一点帮助。我有三个表,名称分别是hall、hall_quantified_details和hall_hall_quantified_details,它们看起来像这样:大厅hall_id|hall_name1Hall12Hall2hall_quantified_detailshall_quantified_details_id|name_quantified1space2seatshall_hall_quantified_detailshall_hall_quantified_details_id|hall_id|hall_quantified_details_id|value11

php - 在 php 中使用具有多个左连接的 WHERE 子句

我使用PHP成功地完成了一个LEFTJOIN,但是,我在添加一个WHERE子句来启用我的selectunique时遇到了一点困难从找到匹配项的所有表中的所有现有详细信息中进行记录。这是我的代码:我的最终输出应该是这样的:全部来自不同的表。任何帮助将不胜感激。 最佳答案 你可以这样做:."WHEREstaff.nuc_id=".$userRow['staff_no'];//thisiswherei'mhavingissues为什么要concatenatequery,要格式化就可以这么写:

php - 准备好的 PHP SQL 语句在没有 GROUP BY 子句的情况下返回 false

我有一个准备好的声明:if($statement=$this->connection->prepare("SELECTquestion_type,count(*)AS`count`FROM(SELECTquestion.*,left(question_body,locate('between',question_body)-2)ASquestion_typeFROMquestion)qWHERE(q.question_type=?ANDq.response_value_id=?)")){$statement->bind_param("si",$question_type,$respon

mysql - SQL:多对多关系和 'ALL' 子句

我有一个表products和一个表locations,它们以多对多关系与表products_locations链接在一起。现在客户可以选择一组产品,我想运行一个仅选择位置的查询,所有选定产品都在这些位置可用。起初这似乎很简单,但我发现自己对如何实现这一点感到很困惑。我最初以为我可以用类似的东西获得所有正确的位置IDSELECTlocation_idFROMproducts_locationsWHEREproduct_id=ALL[theuserselectedproductids]但转念一想这似乎也没有意义(products_locations的结构非常简单[product_id,lo

php - Mysql where 子句在 codeigniter 中不起作用

我有这样的MySQL查询:(我使用CodeIgniter)$report=$this->db->query("SELECTc.categoryName,note1.*,((SELECTSUM(noteAmount)FROMnotesWHEREDATE_FORMAT(noteDate,'%d-%m-%Y')=DATE_FORMAT(note1.noteDate,'%d-%m-%Y')ANDnoteType='cash_in')-(SELECTSUM(noteAmount)FROMnotesWHEREDATE_FORMAT(noteDate,'%d-%m-%Y')=DATE_FORMAT(